﻿// 3602. 守形数.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


using namespace std;
/*
https://www.acwing.com/problem/content/3605/

守形数是这样一种整数，它的平方的低位部分等于它本身。

比如 25 的平方是 625，低位部分是 25，因此 25是一个守形数。

编一个程序，判断 N是否为守形数。

输入格式
题目包含若干组数据。

每组数据占一行，包含一个 N。

输出格式
每组数据输出一行，一个结果，如果 N
 是守形数，则输出 Yes!，否则输出 No!。

数据范围
2≤N<100
输入样例：
25
4
输出样例：
Yes!
No!
*/

void solve(int n) {
	int nn = n * n;

	while (n != 0) {
		int t = n % 10;
		int tt = nn % 10;
		if (tt != t) {
			cout << "No!" << endl;
			return;
		}
		n /= 10;
		nn /= 10;
	}

	cout << "Yes!" << endl;
	return;
}


int main()
{	
	int n; 
	while (cin >> n) {
		solve(n);
	}


	return 0;
}

 